I believe CornedBee explained it well. You may want to take a look at his reply.

But shortly, remember to read pointer declarations from right to left. That helps establish exactly what kind of pointer you have.

In your first case you had a pointer to a pointer to const tchar.
In your last case, you have a const pointer to a pointer to const TCHAR.

In the first case your pointer wasn't const.